package com.simple.editor.action;

import com.simple.editor.callback.Callback;
import com.simple.editor.ui.FileModel;

import java.util.List;

/**
 * {@link ActionManager} defines interface of Simple Editor action framework.
 * <p/>
 * Created with IntelliJ IDEA.
 * User: vlad
 * Date: 6/2/13
 * Time: 4:18 PM
 * To change this template use File | Settings | File Templates.
 */
public interface ActionManager {
    /**
     * Run action
     *
     * @param actionId action id
     * @param files    editor files
     */
    void runAction(EditorUIAction.Type actionId, FileModel... files);

    /**
     * Run action
     *
     * @param actionId action id
     * @param files    editor files
     */
    void runAction(EditorUIAction.Type actionId, List<FileModel> files);

    /**
     * Run action
     *
     * @param actionId action id
     * @param files    editor files
     */
    void runAction(Callback callback, EditorUIAction.Type actionId, FileModel... files);

    /**
     * Run action
     *
     * @param actionId action id
     * @param files    editor files
     */
    void runAction(Callback callback, EditorUIAction.Type actionId, List<FileModel> files);
}
